'use strict';

var h2rApp = angular.module('h2rApp', [
	'ngRoute', 'ngSanitize', 'textAngular'
]);


h2rApp.config(['$routeProvider', function($routeProvider) {
	
	$routeProvider

	// Accueil - Liste des catégories
	.when('/', {
		templateUrl: './partials/listeCategories.html',
		controlle: 'listeCategoriesCtrl'
	})
	.when('/:uid', {
		templateUrl: './partials/editListeCategories.html',
		controlle: 'listeCategoriesCtrl'
	})

	// Liste articles
	.when('/articles/:idCategorie', {
      templateUrl: './partials/listeArticles.html',
      controller: 'listeArticlesCtrl'
	})
	.when('/:uid/articles/:idCategorie', {
      templateUrl: './partials/editListeArticles.html',
      controller: 'listeArticlesCtrl'
	})

	// Article
	.when('/article/:idArticle', { 
      templateUrl: './partials/article.html',
      controller: 'articleCtrl'
   	})	
	.when('/:uid/article/:idArticle', { 
      templateUrl: './partials/editArticle.html',
      controller: 'articleCtrl'
   	})
   	.when('/:uid/newArticle/:idCategorie', { 
      templateUrl: './partials/editArticle.html',
      controller: 'articleCtrl'
   	})
   	
   	.otherwise({
        redirectTo: '/'
    });
	
}]);


h2rApp.service('h2rServices', ['$rootScope', '$http', '$routeParams', '$location', '$q', '$timeout', function($rootScope, $http, $routeParams, $location, $q, $timeout) {

	
	this.initUtilisateur = function () {
		
		var deferred = $q.defer();
		$rootScope.uid = $routeParams.uid;
		
		// Contrôle uid
		if($routeParams.uid) {
			$http({method: 'GET', url: 'http://localhost/histoires2roues/php/lireUtilisateurByUid.php?uid=' + $routeParams.uid})
				.success(function(data, status, headers, config) {
					$rootScope.utilisateur = data;
					if (!$rootScope.utilisateur.uid) {
						var path = $location.path().replace($routeParams.uid + '/','');
						$location.path(path);
						deferred.resolve();
					}
				})
				.error(function(data, status, headers, config) {
					$rootScope.utilisateur = null;					
				});	
		} else {
			$rootScope.utilisateur = null;
			deferred.resolve();
		}
		return deferred.promise;
	}
	
	this.initCategorie = function() {

		var deferred = $q.defer();
		
		// Lecture de la catégorie		
		if($routeParams.idCategorie) {
			$http({method: 'GET', url: 'http://localhost/histoires2roues/php/lireCategorie.php?id=' + $routeParams.idCategorie})
				.success(function(data, status, headers, config) {
					$rootScope.categorie = data;
					deferred.resolve();
				})
				.error(function(data, status, headers, config) {
					$rootScope.categorie = data;
				});
		} else {
			deferred.resolve();
		}
	
		return deferred.promise;		
	}
		
		
}]);
